社论 22.10.20 高斯整数环
二维圆周数点与高斯整数环
所以来水社论了(
给定 。这给出了圆 。求在 圆周上的整点个数。
。
数论题。
记 。于是我们需要求的是数对 的数量。
引入一个东西:高斯整数。高斯整数是形如 的复数,满足 。
在高斯整数集上定义 :
就得到了一个高斯整数环 。
容易发现 是交换环,证明考虑复数运算的性质。但是 不是除环,证明考虑高斯整数和复数运算的性质。
非除环里有乘法逆元的元素称为环的单位。 上的单位只有四个:。
证明: 为幺元。容易发现 。因此得证。
定义一个高斯整数 的范数 ,其中 为 的共轭复数。其实 ,只是换了一种表述,更方便了点。我一般会直接管它叫 norm
定理:。易证。
这表明了范数是积性的。
回到两段前。我们可以使用范数重新发现一遍单位。
假设 是一个单位。那就肯定存在一个 满足 。两边取范数得到
。然后得到 。由于 ,因此 。这个方程的解只有 。于是得到四个单位 。
然后定义一个高斯整数 是规范的,当且仅当 。在之后的讨论中我们可以发现,规范的高斯整数的作用与正整数类似。
引入一个高斯素数:高斯素数在 上是乘法不可约的。也就是说你没法再找出两个 且非单位的元素的乘积表出一个高斯素数。
例如 在 上可以被表为 。
现在我们有了一个很优美的刻画。关于它,有一个更优美的定理。
高斯素数定理
可以用以下的方式描述高斯素数:
- 为高斯素数。
- 设 为普通素数且 ,则 本身是高斯素数。
- 设 为普通素数且 ,则在将 表为两平方数之和 后, 是高斯素数。
任何高斯素数等于一个单位乘上形式 1. 2. 或 3. 中的素数。
证明:
对于 1. 和 3.,我们发现若 为一个普通素数,则 必为一个高斯素数。这点可以由 素数唯一表为两平方和的性质证明。
对于 2.,采用反证法。令 为一个如题设的素数,假设 可以表为两个高斯整数的乘积,即 ,则取范数得
为得到非平凡因式分解,我们需要解方程 。由于 ,因此 无法表为两平方数之和。故原设不成立,因此结论正确。
因此我们得到了充分性。现在需要推导必要性。这里使用引理。
高斯整数的整除性引理
这里仍然记整除符号为 。
设 为高斯整数。则有
- 若 ,则 。
- 若 为形式 2. 的素数,并假设 ,则 。
- 若 为形式 3. 的素数,假设 ,则 和 中定有一个成立。
证明
1.
我们已知 ,即 。因此 具有相同的奇偶性。因此 和 都可以被 整除。这表明
也是一个高斯整数。因此 。
2.
我们已知 且 。这表明 。因此可以通过计算勒让德符号得知 且 :
由于 ,由二次互反律得到 。这表明
如果 不满足 且 ,则我们得到了 。这与事实相悖,因此我们证明了 且 。设 ,则 。因此 。
3.
我们已知 。所以设 。
我们需要证明以下两个数中至少一个为高斯整数:
首先观察到 。这表明了 和 中至少有一个可以被 整除。同样的推导可以证明 和 中至少有一个能被 整除。
当其中一个分数对应的两个和式均能被整除时答案是平凡的,现在讨论当 和 均可被 整除的情况,当另一种情况时可以平凡推广。
我们已经证明了 整除 和 ,因此 整除 。由于 ,因此 。然而我们知道 ,因此 , 。
由于 ,因此我们最终能推出 且 。
自然地,我们可以将 表为 ,其中 。
因此 。
这也就证明了 。
假设 ,则我们需要证明的是 必定属于 1. 2. 或 3. 中的一种。这里令 不是单位,因此 。因此至少有一个素数 整除 。
首先考虑 为 的情况。由 的 1. 部分,。但已经假设了 为素数,因此 必等于 乘一个单位。因此 属于形式 1.。
然后假设 。由 的 2. 部分,。但已经假设了 为素数,因此 必等于 乘一个单位。因此 属于形式 2.。
最后假设 。由两平方数之和定理, 可以被表为两平方数之和 。又由 的 3. 部分, 要么被 整除,要么被 整除,由于 是素数,其必等于 乘一个单位。特别的, ,因此 属于形式 3.。
这就证明了必要性。
因此这证明了 的充要性质。
既然已经有了高斯素数的详尽表示,我们的下一步就是用素数来表出高斯整数环上的每个元素。即,我们要证明高斯整数环上的唯一分解。
高斯整数环的 性质
每个高斯整数 都可以被唯一分解为一个单位 乘以一系列规范的高斯素数的乘积:
其中 互不相同,。特殊地,若 是单位,则重写为 。
证明:我们采用反证法。
首先假设:至少存在一个非零的高斯整数不可分解为素数的乘积。
我们选取所有满足这个假设的高斯整数中范数最小的数,记作 。这里不妨令 既不是高斯素数,也不是单位,因为这两种都不可能不可分解。
由于 不是素数也不是单位,其一定可以被分解为两个不是单位的高斯整数 和 的乘积。
现在考虑 和 。由于 不是单位,因此 。由范数的积性与 得到
而我们选择的 是范数最小的不可分解数,因此 和 都可以被分解为高斯素数的乘积,而这也表明 同样能被分解为高斯素数的乘积。
这与假设矛盾,因此原命题成立。这给出了原命题的充分性。
随后假设:至少存在一个非零的高斯整数,存在两个及以上的素数分解。
我们选取所有满足这个假设的高斯整数中范数最小的数,记作 。由题设,我们有
其中所有素数都是规范的素数。
显然 不可为单位,否则有 ,因此这两个分解是相同的。这就表明了 。
取第一个分解中的第一个素数 ,我们有 。由于 ,我们不妨假设 。然而 是高斯素数,因此有 。由于这里的素数都是规范的,因此这个单位为 。于是有 。
设 。这表明了
即 有两个不同的因子分解。然而 ,这表明 不是有两个不同的因子分解的范数最小的数。
这与假设矛盾,因此原命题成立。这给出了原命题的必要性。
综上,我们给出了 的充要性。
到了这里,我们终于可以开始解决上面那道题了。
我们记 。
勒让德两平方数之和定理 第一部分
若整数 分解为普通素数的乘积
其中 都是模 余 的, 都是模 余 的。
若 ,则
其他情况 。
证明:
现在要将 表为两平方数之和。设 ,这给出了
由高斯整数的唯一分解, 为某些整除 的素数的乘积, 是其余素数的乘积。
然而我们对高斯素数的选择并不完全自由,因为 和 互为共轭。也就是说,如果 ,则 。以上推理适用于任何高斯素数。
我们先将 分解为普通素数的乘积
随后将 分解为高斯整数的乘积。整数 分解为 , 分解为 , 本身为高斯素数。这给出了如下的分解:
若 为奇数,则 的分解两侧存在一个不平衡的质数 ,因此 不可以被表为两平方数之和。现在假设所有的 都是偶数。我们现在只需着眼 的部分。
由于 对答案的贡献为 ,因此不妨假设 对 贡献了 个,对 贡献了 个。由于 ,对指数的不同选择方法计数导出了 部分的答案:
同时不难证明对于不同的质数,其导出的答案是不同的。因此计数不重不漏。
由于共有 个单位,因此我们有最终的结果
因此我们有 的证明。
到这里似乎事情就告一段落了。我们要求的就是 。由于 ,我们只需要将 进行质因子分解,每个质因子都可以对答案造成 的贡献。又由于不可能存在不平衡的质数,因此答案一定不为 。
code
#include <bits/stdc++.h>
using namespace std;
long long r, ans = 4;
signed main() {
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
cin >> r;
for (register int i = 2, cnt; i * i <= r; ++ i) {
if (r % i == 0) {
cnt = 0;
while (r % i == 0) cnt += 2, r /= i;
if (!(i >> 1 & 1)) ans *= cnt + 1;
}
} if (r > 1 and !(r >> 1 & 1)) ans *= 3;
cout << ans << endl;
}
到这里似乎事情就告一段落了……吗?
不。我们还可以走得更远些:
勒让德两平方数之和定理
对给定的正整数 ,设
- = [整除 且满足 的正整数 的个数]
- = [整除 且满足 的正整数 的个数]
则有
将 分解:
我们已经得到了 的表示法,现在只需要验证
证明:对 采用归纳法。
当 时,。因此 的所有素因子都是 的。于是 , 是 的奇因子个数。
的奇因子是每个指数 满足 的数 。由计数,共有 种可能。
这证明了 时定理成立。
现在假设 模 余 ,且 。同时假设上述定理对所有 的整数都成立。假设 中 的指数为 ,这给出了 。分别讨论 的奇偶性。
首先考虑 。则 的奇因子形如 。且对于 的每组 个因子,它们都被平均地分在了 和 中。因此 。
这表明了 。
然后考虑 。同样假设 的奇因子形如 其中 。对于 的每组 个因子,当 时, 和 对应的两组因子被平均分在了 和 中,这部分的答案被抵消了。当 时,问题转化为对于 证明原定理,而这已经由归纳假设得证。
因此我们验证了 的形式。由 可以得到 的最终证明。
例题:R(n)
是求 R(n) 的板子题。
本文内容是笔者在翻《数论概论》时写的
权当随笔 如有笔误等问题敬请指正
因为这篇有点长写的时候太卡了所以写到一半的时候转了vscode
到最后发现似乎是预览页面占的内存太大了
但是这证明的 实在是太难打了啊啊啊
而且证明过程好长啊啊啊
以下是博客签名,与正文无关。
请按如下方式引用此页:
本文作者 joke3579,原文链接:https://www.cnblogs.com/joke3579/p/editorial221020.html。
遵循 CC BY-NC-SA 4.0 协议。
请读者尽量不要在评论区发布与博客内文完全无关的评论,视情况可能删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)